package com.powergisol.gis.vo;

import java.util.List;

/**
 * Date: 2019/8/23  9:25
 * Description:
 */
public class LOBJsonData {

    /**
     * DataDefine : {"Position":{"x":"106.663080","y":"29.583510","z":"0.000000"},"Range":{"West":"-240.164871","East":"400.164886","South":"-500.164886","North":"800.164856","MinZ":"76.787979","MaxZ":"408.296051"},"NodeList":{"Node":["./Data/Tile_+000_+000/Tile_+000_+000.lob","./Data/Tile_+000_+001/Tile_+000_+001.lob","./Data/Tile_+021_+010/Tile_+021_+010.lob","./Data/Tile_+021_+018/Tile_+021_+018.lob","./Data/Tile_+021_+020/Tile_+021_+020.lob","./Data/Tile_+021_+022/Tile_+021_+022.lob","./Data/Tile_+021_+023/Tile_+021_+023.lob"]}}
     */

    private DataDefineBean DataDefine;

    public DataDefineBean getDataDefine() {
        return DataDefine;
    }

    public void setDataDefine(DataDefineBean DataDefine) {
        this.DataDefine = DataDefine;
    }

    public static class DataDefineBean {
        /**
         * Position : {"x":"106.663080","y":"29.583510","z":"0.000000"}
         * Range : {"West":"-240.164871","East":"400.164886","South":"-500.164886","North":"800.164856","MinZ":"76.787979","MaxZ":"408.296051"}
         * NodeList : {"Node":["
         ./Data/Tile_+021_+018/Tile_+021_+018.lob","./Data/Tile_+021_+020/Tile_+021_+020.lob"," ./Data/Tile_+021_+022/Tile_+021_+022.lob","./Data/Tile_+021_+023/Tile_+021_+023.lob"]}
         */

        private PositionBean Position;
        private RangeBean Range;
        private NodeListBean NodeList;

        public PositionBean getPosition() {
            return Position;
        }

        public void setPosition(PositionBean Position) {
            this.Position = Position;
        }

        public RangeBean getRange() {
            return Range;
        }

        public void setRange(RangeBean Range) {
            this.Range = Range;
        }

        public NodeListBean getNodeList() {
            return NodeList;
        }

        public void setNodeList(NodeListBean NodeList) {
            this.NodeList = NodeList;
        }

        public static class PositionBean {
            /**
             * x : 106.663080
             * y : 29.583510
             * z : 0.000000
             */

            private String x;
            private String y;
            private String z;

            public String getX() {
                return x;
            }

            public void setX(String x) {
                this.x = x;
            }

            public String getY() {
                return y;
            }

            public void setY(String y) {
                this.y = y;
            }

            public String getZ() {
                return z;
            }

            public void setZ(String z) {
                this.z = z;
            }
        }

        public static class RangeBean {
            /**
             * West : -240.164871
             * East : 400.164886
             * South : -500.164886
             * North : 800.164856
             * MinZ : 76.787979
             * MaxZ : 408.296051
             */

            private String West;
            private String East;
            private String South;
            private String North;
            private String MinZ;
            private String MaxZ;

            public String getWest() {
                return West;
            }

            public void setWest(String West) {
                this.West = West;
            }

            public String getEast() {
                return East;
            }

            public void setEast(String East) {
                this.East = East;
            }

            public String getSouth() {
                return South;
            }

            public void setSouth(String South) {
                this.South = South;
            }

            public String getNorth() {
                return North;
            }

            public void setNorth(String North) {
                this.North = North;
            }

            public String getMinZ() {
                return MinZ;
            }

            public void setMinZ(String MinZ) {
                this.MinZ = MinZ;
            }

            public String getMaxZ() {
                return MaxZ;
            }

            public void setMaxZ(String MaxZ) {
                this.MaxZ = MaxZ;
            }
        }

        public static class NodeListBean {
            private List<String> Node;

            public List<String> getNode() {
                return Node;
            }

            public void setNode(List<String> Node) {
                this.Node = Node;
            }
        }

    }
    private AssetBean asset;
    private RootBean root;

    public AssetBean getAsset() {
        return asset;
    }

    public void setAsset(AssetBean asset) {
        this.asset = asset;
    }

    public RootBean getRoot() {
        return root;
    }

    public void setRoot(RootBean root) {
        this.root = root;
    }

    public static class AssetBean {
        /**
         * version : v.1.0.0
         */

        private String version;

        public String getVersion() {
            return version;
        }

        public void setVersion(String version) {
            this.version = version;
        }
    }

    public static class RootBean {
        /**
         * boundingVolume : {"box":[-7.1614990234375,243.56263732910156,601.2845306396484,452.41912841796875,0,0,0,602.1096038818359,0,0,0,262.60597229003906]}
         * children : [{"boundingVolume":{"sphere":[219.204509973526,670.1825103759766,483.14759826660156,320.42258459393264]},"content":{"url":"./Data/Tile_1/Tile_1.lob"}}]
         * position : {"x":"0.000000","y":"0.000000","z":"0.000000"}
         */

        private RootBean.BoundingVolumeBean boundingVolume;
        private RootBean.PositionBean position;
        private List<RootBean.ChildrenBean> children;

        public RootBean.BoundingVolumeBean getBoundingVolume() {
            return boundingVolume;
        }

        public void setBoundingVolume(RootBean.BoundingVolumeBean boundingVolume) {
            this.boundingVolume = boundingVolume;
        }

        public RootBean.PositionBean getPosition() {
            return position;
        }

        public void setPosition(RootBean.PositionBean position) {
            this.position = position;
        }

        public List<RootBean.ChildrenBean> getChildren() {
            return children;
        }

        public void setChildren(List<RootBean.ChildrenBean> children) {
            this.children = children;
        }

        public static class BoundingVolumeBean {
            private List<Double> box;

            public List<Double> getBox() {
                return box;
            }

            public void setBox(List<Double> box) {
                this.box = box;
            }
        }

        public static class PositionBean {
            /**
             * x : 0.000000
             * y : 0.000000
             * z : 0.000000
             */

            private String x;
            private String y;
            private String z;

            public String getX() {
                return x;
            }

            public void setX(String x) {
                this.x = x;
            }

            public String getY() {
                return y;
            }

            public void setY(String y) {
                this.y = y;
            }

            public String getZ() {
                return z;
            }

            public void setZ(String z) {
                this.z = z;
            }
        }

        public static class ChildrenBean {
            /**
             * boundingVolume : {"sphere":[219.204509973526,670.1825103759766,483.14759826660156,320.42258459393264]}
             * content : {"url":"./Data/Tile_1/Tile_1.lob"}
             */

            private RootBean.ChildrenBean.BoundingVolumeBeanX boundingVolume;
            private RootBean.ChildrenBean.ContentBean content;

            public RootBean.ChildrenBean.BoundingVolumeBeanX getBoundingVolume() {
                return boundingVolume;
            }

            public void setBoundingVolume(RootBean.ChildrenBean.BoundingVolumeBeanX boundingVolume) {
                this.boundingVolume = boundingVolume;
            }

            public RootBean.ChildrenBean.ContentBean getContent() {
                return content;
            }

            public void setContent(RootBean.ChildrenBean.ContentBean content) {
                this.content = content;
            }

            public static class BoundingVolumeBeanX {
                private List<Double> sphere;

                public List<Double> getSphere() {
                    return sphere;
                }

                public void setSphere(List<Double> sphere) {
                    this.sphere = sphere;
                }
            }

            public static class ContentBean {
                /**
                 * url : ./Data/Tile_1/Tile_1.lob
                 */

                private String url;

                public String getUrl() {
                    return url;
                }

                public void setUrl(String url) {
                    this.url = url;
                }
            }
        }
    }
}
